package br.usjt.teste;

import static org.junit.Assert.*;

import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;


import br.usjt.servico.IFilmeDAO;
import br.usjt.servico.MySQLFilmeDAO;

public class REQ07AlterarFilme_DAOFilme {

	 static IFilmeDAO filmeDAO;
	
	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
		filmeDAO = new MySQLFilmeDAO();
		filmeDAO.cadastra(3333,"a era do gelo 4", 1);
	
	}
	/**
	 * Objetivo - verifica o comportamento da funcao altera filme com sucesso 
	 */
	@Test
	public void CT01AlterarFilme_com_sucesso() {
		assertEquals("qt de registros alterados =", 1, filmeDAO.altera("a era do gelo 4",2));
	}
	/**
	 * Objetivo - verifica o comportamento da funcao altera para um filme nao cadastrado 
	 */
	@Test
	public void CT02AlterarFilme_dados_invalidos() {
		assertEquals("qt de registros alterados =", 0, filmeDAO.altera("a era do gelo 7",2));
		
	}
	/**
	 * Objetivo - verifica o comportamento da funcao altera para um filme com titulo nulo 
	 */
	@Test
	public void CT03AlterarFilme_dados_invalidos() {
		assertEquals("qt de registros alterados =", 0, filmeDAO.altera(null,2));
		
	}
	@AfterClass
	public static void tearDownAfterClass() throws Exception {
		filmeDAO.exclui("a era do gelo 4");
	}
}
